微信小程序 push => 构建 => 上传,一条龙服务

September 09, 2020

微信小程序持续集成还是有很多坑的,我先把整个流程梳理下,后面再讲坑

因为小程序只有 mac,和window 开发工具,所以做持续集成需要用到 window 服务器,所以你需要找你们的运维配置一台 window 服务器,然后配置好 gitlab-runner

微信开发者工具配置

  1. 使用你的微信账号登录开发者工具
  2. 在左上角一排 toolbar 找到 设置 -> 安全 -> 服务端口 -> 开启

image.png

这个开启后,就能在终端通过这个端口号调用小程序开发者工具的接口了

配置 gitlab-ci.yml

stages:
  - build
  - deploy

build_job:
  stage: build 
  only:
    - master
  tags:
# tags 指定 runner,因为有很多个 gitlab runner而且都是 lunix
#你需要用到 window 那台机器这个不知道咋配的时候可以问问运维
    - window
  script:
    - npm run build # 如果是 uniapp 或者 其他类似需要构建的要用这个命令如果是原生的不需要这个

deploy:
  stage: deploy
  only:
    - master
  tags:
    - window
  script:
    - C:\xxx\wechatDevTool\cli.bat -u 0.1.0 --upload-desc 最新的描述 # 这里使用微信开发者工具提供的命令行工具进行上传体验

基本这样配置好后, 你 push 代码就会自动 调用 微信开发者工具 上传体验包了

微信官方文档参考: https://developers.weixin.qq.com/miniprogram/dev/devtools/cli.html#%E8%87%AA%E5%8A%A8%E9%A2%84%E8%A7%88

坑你没商量

window 下shell 默认用的是 cmd,但是,官方文档写着 cmd支持不够完全,最好用 powershell, runner 配置如下

[[runners]]
name = "win-runner"
executor = "shell"
shell = "powershell"
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]

不用powershell 你会发现你的script 会只执行一部分,你可能便于脚本通用性,会用 git bash 执行,这又是一个大坑,老老实实用powershell,会少好多坑, 过来人经验

2. 默认是在 system用户下跑脚本,但你的大部分程序是在 Administrator 下执行的,所以跑runner的时候记得带上 用户,设置如下

.\gitlab-runner.exe run --user Administrator